#include "Global.h"
#include "structInit.h"
#include <easyx.h>
#include "GameCore.h"
#include "AutoMusic.h"
#include <fstream>
#pragma once
/*
	负责人: 张三
	功能: initShopView: 初始化商店界面

		  进行商店内容的整合
		  分别调用:
		  DrawShopView(shop, roleman);  // 绘制商店界面
		  HandleShopViewKeyboard(shop, roleman);  // 处理商店输入

	参数: SHOP& shop ,ROLEMAN& roleman(ROLEMAN& roleman主要用来获取 玩家的金钱数量)
	返回值: void

	商品名称 价格 购买等等
*/
void initShopView(SHOP& shop, ROLEMAN& roleman);
/*
	负责人: 张三
	功能: DrawShopView: 商店地图的加载

	参数: SHOP& shop, ROLEMAN& roleman
	返回值: void

	商品名称 价格等等
	均在此处

	例如:
	cleardevice();  // 清空屏幕 重新加载（重新画） 商店界面

	// 显示商店标题（可自由定义 样式）
	settextstyle(20, 0, "宋体");
	outtextxy(200, 50, "商店");

	// 显示商品列表
	int y = 100;  控制输出物品的纵坐标，商品之间有间隙
	for (int i = 0; i < shop.itemCount; i++)
	{
		char itemInfo[100];//字符串转换
		sprintf(itemInfo, "根据具体的商品输出内容格式进行 定义（例如:"%d. %s - 效果: %d - 价格: %d 金币"）",
				i + 1, shop.items[i].name, shop.items[i].effect, shop.items[i].price);
		outtextxy(200, y, itemInfo);
		y += 50;
	}

	// 显示操作提示
	outtextxy(200, y + 50, "按（哪一个）键购买, （哪一个键） 退出商店");
	char moneyStr[20];
	sprintf(moneyStr, "你的金币: %d", roleman.money);
	outtextxy(200, y + 100, moneyStr); //可以用来输出玩家 金钱数量
}

*/
void  DrawShopView(SHOP& shop, ROLEMAN& roleman);
/*
	负责人: 张三
	功能: handleShopViewKeybord: 监听方向键翻页 监听商品购买
		  根据监听到的方向 切换页面
		  根据监听到的按键 购买对应商品
	参数: SHOP& shop
	返回值: void

	例如,可以参考如下逻辑:
	void HandleShopViewKeyboard(SHOP& shop, ROLEMAN& roleman) {
	while (true) {


		if (_kbhit()) //判断是否有按键被按下
		{
			char ch = _getch(); //获取键盘输入的值
			if (判断哪一个按键是用来购买) {  // 按数字键购买
				int itemIndex = ch - 'a';  // 将字符转换为索引,用来判断对应按键所对应的商店购买物品（'a'键买第一个物品，'b'键买第二个物品，'c'键买第三个物品）
				if (itemIndex < shop.itemCount) {  // 检查索引（购买物品）是否有效
					if (roleman.money >= shop.items[itemIndex].price) //判断是否可以购买，即玩家金钱是否满足购买需求
					{
						roleman.money -= shop.items[itemIndex].price;  // 扣除金币
						// 根据商品类型更新角色属性
						if (strcmp(shop.items[itemIndex].name, "攻击药水") == 0) //通过 strcmp进行字符串比较 如果满足购买商品的名字，执行对应的效果增幅
						{
							roleman.att += shop.items[itemIndex].effect;  // 增加攻击
						} else if (strcmp(shop.items[itemIndex].name, "防御药水") == 0) {
							roleman.def += shop.items[itemIndex].effect;  // 增加防御
						} else if (strcmp(shop.items[itemIndex].name, "生命药水") == 0) {
							roleman.HP += shop.items[itemIndex].effect;  // 增加生命
						}
						outtextxy(200, 400, "购买成功！");
					} else {
						outtextxy(200, 400, "金币不足！");
					}
				}
			} else if (按下哪一个键 是用来退出) {
				// 退出商店
				break;
			}
			DrawShopView(shop, roleman);  // 刷新商店界面
		}
	}
}
*/
void  HandleShopViewKeyboard(SHOP& shop, ROLEMAN& roleman);